package com.lijianlove.keeplearning.dr.support.customize;

import com.lijianlove.keeplearning.dr.support.annotation.DR;
import org.aspectj.lang.reflect.MethodSignature;

import java.lang.reflect.Field;

/**
 * @author lijian
 * @date 2019/5/3 下午6:55
 */
public interface Processor {
    /**
     * 处理前方法
     *
     * @param signature
     * @param dr
     * @param fields
     * @param param
     * @param key
     * @return the rebuild key
     */
    String processorBefore(MethodSignature signature, DR dr, Field[] fields, Object param, String key);
}
